身為一位軟體工程師應該蠻常會遇到一件事,就是需要靠通靈才能知道這支程式到底在說什麼,如果今天有個靈媒證照,那或許我們都可以去試試看,當作副業創造金流好像也不錯(?
就像上圖,看以前自己寫的code就跟右邊一樣,想借個時光機去扁過去的自己,你越想扁的話就代表這程式越爛
「Clean Code 是可被原作者以外的開發者閱讀與增強的。它應當包含單元測試與驗收測試
「減少重複、具有高度的表達力、並及早建立簡單抽象概念,這些對我而言,就是撰寫 Clean Code 的方法」
「當每個你看到的程式,執行結果都與你想得差不多,你會察覺到你正工作在 Clean Code 之上」
「急於將產品上市,導致他們的程式碼變得一團糟,當他們加入愈來愈多的產品特點時,程式碼就變得愈來愈糟糕,一直到他們再也無法管理這團混亂。劣質的程式碼導致了這家公司的倒閉」
取自Clean Code
雖然Clean Code只有短短的三句話,但我覺得要能做到這三件事並非容易的事,尤其在有外力影響的情況下 (例如:deadline快到了、客戶突然要改需求、一個完全沒摸過的套件等),能再有外力影響下還維持高品質的程式碼也是我的小小夢想。
我在第一間公司的時候,在快速開發的情況下一直不知道寫測試是什麼東西,直到我無聊開始面試外商才發現原來我是大便,測試不會寫,直接被皮諾可電死。
從那時候我才開始學習寫測試,這邊推薦大家,腳麻了就去面試一下吧,直接打通任督二脈
前面廢話太久了,其實寫測試簡單來說就是確保程式碼不會有問題,說來簡單,但跟蛋炒飯一樣要做到好可不容易。
在開發的時候,有時候改了一個功能,網站就跟按下核彈一樣直接爆炸,那就要回頭想想,是不是耦合性太高了,有寫測試的習慣也會讓你不知不覺寫出低耦合的程式碼。
有寫測試的話,也會因為你寫的 test case 讓讀你 code 的人更容易了解這個 function 在做什麼,就像物理公式一樣,只看公式不太了解,但看完範例之後,你就知道這公式是在幹嘛的了。
工作上要事處理完之後,閒暇之餘,來優化以前的程式碼吧!
當你下定決心要改前面code的時候,發現怎麼小改一下功能就壞掉了,結果就打消了重構程式碼的念頭,透過寫測試,你可以增加程式碼的可靠性。
當每個程式碼都是牢靠的,就不太需要擔心重構時出現bug,讓你的精氣神都專注在開發上~
一個容易看懂的程式碼就想國小課文一樣,一眼掃過去就知道個大概,而劣質的程式就跟看文言文一樣,還要去猜當時古人的心情再用自己的角度去解釋,既然身為工程師,我想我們都想當解決問題的人,而不是創造麻煩的雷包吧~
也因如此,我開始學習Clean Code 跟寫測試,這30天我會先簡單介紹clean code,之後會比較著重在寫測試的部分,跟大家一起學習並增進自己的能力~